// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Pinco Online Kazino Ən Populyar Slot Oyunları ilə Qazanc və Əyləncəni Bir Araya Gətirir – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Pinco Online Kazino Ən Populyar Slot Oyunları ilə Qazanc və Əyləncəni Bir Araya Gətirir

Pinco – bu yalnız oyun deyil, həyəcan və qazancın birləşdiyi unikal bir dünyadır! pinko az platformasında ən sevimli slot oyunlarını tapın və böyük qazanclara şərait yaradın.

Pinco Casino sizə xüsusi imkanlar təqdim edir! Pinco Casino promo code ilə ilk depozitinizi edin və bonuslar qazanın. Pinco game oynayaraq həm əylənin, həm də uduşlarınızı artırın!

Pinco promo code istifadə edin və unikal təkliflərdən yararlanın. Pinko ilə hər oyun yeni bir macəraya çevrilir!

Pinco Online Kazino: Əyləncə və Qazancın Tək Adresi

Pinco Online Kazino, pinko az platforması vasitəsilə sizə unikal oyun təcrübəsi təqdim edir. Pinco game seçimləri ilə hər zövqə uyğun slot oyunları tapmaq mümkündür. Pinko istifadəçiləri üçün həm əyləncə, həm də böyük qazanc fürsəti bir araya gətirir.

Pinco casino tərəfindən təqdim olunan xüsusi pinco promo code ilə oyunlara başlayaraq əlavə üstünlüklər əldə edə bilərsiniz. Пинко казино sizin üçün hər zaman yeni və maraqlı oyunlar təqdim edir. Pinco ilə hər mərciniz daha da maraqlı və qazanclı olur!

İstər klassik slotlar, istərsə də müasir oyunlar olsun, pinko sizə hər zaman ən yaxşı təcrübəni yaşadır. Pinco ilə əyləncə və qazancın tək adresinə qoşulun!

Slot Oyunlarının Müxtəlifliyi və Keyfiyyəti

Pinco Online Kazino sizə müxtəlif mövzulu və yüksək keyfiyyətli slot oyunları təqdim edir. Pinco Casino platformasında hər zövqə uyğun oyun tapmaq mümkündür. Klassik slotlardan tutmuş müasir 3D oyunlara qədər geniş seçim ilə əyləncə heç vaxt bitmir.

Pinco promo code istifadə edərək, yeni oyunları sınamaq və daha çox qazanc əldə etmək imkanı əldə edə bilərsiniz. Pinco game seçimləri arasında həm sadə, həm də mürəkkəb qaydalara malik oyunlar var ki, bu da hər bir oyunçuya uyğun seçim etməyə imkan yaradır.

Pinko az platformasında təqdim olunan oyunlar yalnız müxtəlif deyil, həm də yüksək keyfiyyət standartlarına cavab verir. Pinco casino promo code ilə əlavə üstünlüklər əldə edərək, bu keyfiyyəti daha sərfəli şəkildə yaşaya bilərsiniz.

Hər bir пинко казино oyunçu üçün unikal təcrübə təqdim edir. Pinco ilə həm əylənin, həm də böyük qazanclara imza atın!

Pinco Online Kazinoda Qeydiyyat və Başlanğıc

Pinco Online Kazino-dakı macəranıza başlamaq üçün sadəcə qeydiyyatdan keçin. Qeydiyyat prosesi sürətli və asandır – yalnız bir neçə addımda hesab yaradın və Pinco Casino-nun dünyasına daxil olun.

Qeydiyyat zamanı “pinco casino promo code” və ya “pinco promo code” istifadə edərək xüsusi bonuslar əldə edin. Bu kodlar ilə ilk depozitinizə əlavə şanslar və mükafatlar qazanın.

Pinco Casino-də “pinco game” seçimləri ilə əyləncə dolu anlar yaşayın. Pинко казино-nun geniş oyun çeşidi ilə hər zövqə uyğun slotlar və digər oyun növləri mövcuddur.

Pinko-dakı təcrübənizi daha da maraqlı etmək üçün qeydiyyatdan sonra ilk depozitinizi edin və Pinco Casino-nun xüsusi təkliflərindən yararlanın. Pinco-dan zövq alın və qazanc şansınızı artırın!

Mərc Etmək Üçün Ən Yaxşı Strategiyalar

Pinco Online Kazino-da uğur qazanmaq üçün düzgün strategiyalardan istifadə etmək vacibdir. Burada sizə ən effektiv üsulları təqdim edirik:

Strategiya
Təsvir

Balansı idarə etmək Pinco game zamanı balansınızı diqqətlə planlaşdırın. Hər mərc üçün müəyyən bir limit təyin edin və onu aşmayın. Promo kodlardan istifadə Pinco casino promo code və pinco promo code ilə əlavə bonuslar əldə edin. Bu, mərclərinizi artırmaq üçün əla fürsətdir. Oyun növlərini seçmək Pinko az platformasında ən populyar slot oyunlarını seçin. Hər oyunun öz xüsusiyyətləri var, buna görə də onları öyrənin. Risk səviyyəsini nəzərə almaq Пинко казино-da risk səviyyəsini azaltmaq üçün kiçik mərclərlə başlayın. Təcrübə qazandıqca mərclərinizi artırın.

Pinco və pinko platformalarında uğur qazanmaq üçün bu strategiyalardan istifadə edin. Unutmayın ki, düzgün planlaşdırma və diqqətli yanaşma hər zaman daha yaxşı nəticələr verir.

Pinco Online Kazinoda Bonuslar və Kampaniyalar

Pinco Casino istifadəçilərinə hər zaman xüsusi bonuslar və maraqlı kampaniyalar təqdim edir. Pinko platformasında həm yeni, həm də daimi oyunçular üçün müxtəlif təkliflər mövcuddur. Pinco promo code istifadə edərək, əlavə üstünlüklər əldə edə bilərsiniz.

Bonus Növü
Şərtlər
Müddət

Qeydiyyat Bonusu İlk depozitə 100% bonus 30 gün Pulsuz Fırlanmalar Pinco game seçimi ilə 50 fırlanma 7 gün Cashback Həftəlik itkilərin 10%-i Həftəlik

Pinco Casino promo code ilə xüsusi təkliflərdən yararlanmaq üçün qeydiyyatdan keçin və Pinko AZ-də unikal oyun təcrübəsi yaşayın. Pинко platformasında hər bir oyunçu üçün maraqlı imkanlar hazırlanıb!

Mobil Cihazlarda Pinco Online Kazino Təcrübəsi

Pinco Online Kazino, mobil cihazlar üzərindən də rahatlıqla istifadə edilə bilən bir platformadır. Pinko az saytı vasitəsilə istənilən yerdən və zamanda ən sevimli slot oyunlarına qoşula bilərsiniz.

  • Pinco casino mobil versiyası ilə oyunlarınızı davam etdirin.
  • Pinko mobil tətbiqi ilə yüksək keyfiyyətli qrafika və sürətli oyun təcrübəsi əldə edin.
  • Pinco promo code istifadə edərək mobil oyunlarda xüsusi bonuslar qazanın.

Pinco game seçimləri ilə hər bir oyunçu üçün uyğun oyun tapmaq asandır. Пинко казино mobil versiyası ilə hərəkətdə olsanız da, əyləncəni qaçırmayın!

  • Pinco mobil platformada qeydiyyatdan keçin.
  • Пинко oyunlarını yükləyin və dərhal başlayın.
  • Pinco promo code ilə xüsusi təkliflərdən yararlanın.
  • Pinco Online Kazino, hər bir oyunçunun mobil təcrübəsini unudulmaz etmək üçün daim yeniliklər təqdim edir. Pinko az ilə hər yerdə əylənin!

    Təhlükəsizlik və Şəxsi Məlumatların Qorunması

    Pinco Online Kazino istifadəçilərinin təhlükəsizliyi və məlumatlarının qorunması üçün ən son texnologiyalardan istifadə edir. Pinko az platforması şəxsi məlumatlarınızı qorumaq üçün aşağıdakı tədbirləri həyata keçirir:

    • Şifrələmə Texnologiyası: Pinco casino bütün məlumat mübadiləsini 128-bit SSL şifrələməsi ilə qoruyur.
    • Məlumatların Məxfiliyi: Pinko istifadəçilərin şəxsi məlumatlarını üçüncü tərəflərlə paylaşmır.
    • Təhlükəsiz Ödəniş Sistemləri: Pinco game-də bütün ödənişlər təhlükəsiz ödəniş şəbəkələri vasitəsilə həyata keçirilir.

    Pinco promo code istifadə edərkən də məlumatlarınız tam qorunur. Пинко казино hər bir istifadəçinin məlumatlarını qanunlara uyğun şəkildə emal edir və qoruyur. Pinko platformasında hesabınızın təhlükəsizliyini təmin etmək üçün aşağıdakı tövsiyələrə əməl edin:

  • Güclü və unikal şifrə seçin.
  • Hesab məlumatlarınızı üçüncü şəxslərlə paylaşmayın.
  • Pinco promo code-ları yalnız rəsmi mənbələrdən əldə edin.
  • Пинко istifadəçilərinin rahatlığı və təhlükəsizliyi üçün daim yeniliklər tətbiq edir. Pinko az ilə hər zaman etibarlı və təhlükəsiz bir oyun təcrübəsi yaşayın!

    Pinco Online Kazinoda Müştəri Dəstəyi və Xidmətlər

    Pinco Online Kazino, oyunçularına yüksək keyfiyyətli müştəri dəstəyi və geniş xidmət imkanları təqdim edir. Pinco game platformasında hər bir istifadəçi üçün rahat və təhlükəsiz mühit yaradılmışdır.

    • 24/7 Müştəri Dəstəyi: Pinco casino istifadəçiləri hər hansı bir sual və ya problemlə qarşılaşdıqda, gecə-gündüz müştəri dəstəyi komandası ilə əlaqə saxlaya bilərlər.
    • Tez və Effektiv Cavab: Pinko az komandası hər bir sorğunu ən qısa zamanda həll etmək üçün daim hazırdır.
    • Çoxdilli Dəstək: Pinco casino promo code istifadə edən oyunçular müxtəlif dillərdə dəstək ala bilərlər.
  • Təhlükəsizlik: Pinco platforması istifadəçi məlumatlarının qorunması üçün ən son texnologiyalardan istifadə edir.
  • Əlavə Bonuslar: Pinko istifadəçiləri üçün xüsusi promo kodlar və bonuslar təqdim olunur.
  • Asan Ödəniş: Pinco casino-də ödəniş prosesləri sadə və şəffafdır.
  • Pinco Online Kazino, hər bir oyunçunun rahatlığını və məmnuniyyətini təmin etmək üçün daim yeni xidmətlər təqdim edir. Pинко казино sizin üçün ən yaxşı seçimdir!

    Pinco Online Kazino İlə Uğur Qazanmağın Sirləri

    Pinco Online Kazino, oyun həvəskarları üçün əsl uğur məkanıdır. Pinco promo code istifadə edərək, hər bir oyun təcrübənizi daha da maraqlı və qazanclı edə bilərsiniz. Pinko az platformasında təqdim olunan ən populyar slot oyunları ilə böyük məbləğlər qazanmaq mümkündür.

    Pinco casino-də uğur qazanmaq üçün əsas sirr strategiyalı oynamaqdır. Pinco game seçimində diqqətli olun və hər bir mərcləri planlaşdırın. Pinko platformasında təqdim olunan bonuslardan və aksiyalardan maksimum istifadə edərək, şansınızı artırın.

    Пинко казино-da uğur qazanmaq üçün hər zaman öz limitlərinizi bilin və emosiyalara qapılmayın. Pinco promo code ilə əlavə imkanlar əldə edərək, oyun təcrübənizi daha da zənginləşdirin. Pinko az platformasında hər bir oyunçu üçün uğur qapıları açıqdır!

    Design and Develop by Ovatheme